From cbde3ee01f5dd25cba8107a237ac7c56411543a1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 2 Dec 2015 23:23:36 -0500 Subject: [PATCH] css: Add a :dnd pseudoclass This will be used for drag highlighting. --- gtk/gtkcssselector.c | 6 ++++-- gtk/gtkenums.h | 4 +++- gtk/gtkwidgetprivate.h | 2 +- testsuite/css/parser/pseudo-classes-known.css | 4 ++++ testsuite/css/parser/pseudo-classes-known.ref.css | 4 ++++ 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c index a185cd618b..0647c296ef 100644 --- a/gtk/gtkcssselector.c +++ b/gtk/gtkcssselector.c @@ -744,7 +744,8 @@ print_pseudoclass_state (const GtkCssSelector *selector, "dir(rtl)", "link", "visited", - "checked" + "checked", + "dnd" }; guint i; @@ -1188,7 +1189,8 @@ parse_selector_pseudo_class (GtkCssParser *parser, { "dir(rtl)", GTK_STATE_FLAG_DIR_RTL, }, { "link", GTK_STATE_FLAG_LINK, }, { "visited", GTK_STATE_FLAG_VISITED, }, - { "checked", GTK_STATE_FLAG_CHECKED, } + { "checked", GTK_STATE_FLAG_CHECKED, }, + { "dnd" , GTK_STATE_FLAG_DND, } }; guint i; diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 73bc316c42..3d99fd91d2 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -857,6 +857,7 @@ typedef enum * @GTK_STATE_FLAG_LINK: Widget is a link. Since 3.12 * @GTK_STATE_FLAG_VISITED: The location the widget points to has already been visited. Since 3.12 * @GTK_STATE_FLAG_CHECKED: Widget is checked. Since 3.14 + * @GTK_STATE_FLAG_DND: Widget is highlighted as a drop target for DND. Since 3.20 * * Describes a widget state. Widget states are used to match the widget * against CSS pseudo-classes. Note that GTK extends the regular CSS @@ -876,7 +877,8 @@ typedef enum GTK_STATE_FLAG_DIR_RTL = 1 << 8, GTK_STATE_FLAG_LINK = 1 << 9, GTK_STATE_FLAG_VISITED = 1 << 10, - GTK_STATE_FLAG_CHECKED = 1 << 11 + GTK_STATE_FLAG_CHECKED = 1 << 11, + GTK_STATE_FLAG_DND = 1 << 12 } GtkStateFlags; /** diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index b1755969f9..e3f8a135de 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -34,7 +34,7 @@ G_BEGIN_DECLS -#define GTK_STATE_FLAGS_BITS 12 +#define GTK_STATE_FLAGS_BITS 13 struct _GtkWidgetPrivate { diff --git a/testsuite/css/parser/pseudo-classes-known.css b/testsuite/css/parser/pseudo-classes-known.css index 53f8c71844..e25bc7f182 100644 --- a/testsuite/css/parser/pseudo-classes-known.css +++ b/testsuite/css/parser/pseudo-classes-known.css @@ -53,3 +53,7 @@ :checked { color: red; } + +:dnd { + color: red; +} diff --git a/testsuite/css/parser/pseudo-classes-known.ref.css b/testsuite/css/parser/pseudo-classes-known.ref.css index ee00699154..f5469628ec 100644 --- a/testsuite/css/parser/pseudo-classes-known.ref.css +++ b/testsuite/css/parser/pseudo-classes-known.ref.css @@ -53,3 +53,7 @@ :checked { color: rgb(255,0,0); } + +:dnd { + color: rgb(255,0,0); +} -- 2.30.2